home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / graphics / graphics3d / doc / graphics3d.h < prev    next >
C/C++ Source or Header  |  1999-05-25  |  22KB  |  511 lines

  1. @DATABASE "graphics3D.h"
  2. @MASTER   "Ram Disk:graphics3D.h"
  3. @REMARK   This file was created by ADtoHT 2.1 on 21-Gen-99 23:47:50
  4. @REMARK   Do not edit
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "graphics3D.h"
  8.  
  9. @{"graphics3D.h" LINK File}
  10.  
  11.  
  12. @{b}Structures@{ub}
  13.  
  14. @{"ambient3d" LINK "graphics3D.h/File" 334}  @{"buftmap" LINK "graphics3D.h/File" 230}    @{"dir3d" LINK "graphics3D.h/File" 203}
  15. @{"edge" LINK "graphics3D.h/File" 221}       @{"grafica" LINK "graphics3D.h/File" 409}    @{"line" LINK "graphics3D.h/File" 196}
  16. @{"matrix1x4" LINK "graphics3D.h/File" 158}  @{"matrix4x4" LINK "graphics3D.h/File" 136}  @{"objectnode" LINK "graphics3D.h/File" 271}
  17. @{"pixel" LINK "graphics3D.h/File" 188}      @{"pixl" LINK "graphics3D.h/File" 211}       @{"poltmap" LINK "graphics3D.h/File" 239}
  18. @{"polygon" LINK "graphics3D.h/File" 253}    @{"polytemp" LINK "graphics3D.h/File" 298}   @{"rgbtype" LINK "graphics3D.h/File" 96}
  19. @{"tag3d" LINK "graphics3D.h/File" 105}      @{"vector" LINK "graphics3D.h/File" 168}     @{"vert1" LINK "graphics3D.h/File" 177}
  20. @{"vertex" LINK "graphics3D.h/File" 75}     @{"vtmap" LINK "graphics3D.h/File" 83}      
  21.  
  22.  
  23. @{b}Typedefs@{ub}
  24.  
  25. @{"Sambient3d" LINK "graphics3D.h/File" 403}  @{"SAreaInfo" LINK "graphics3D.h/File" 392}    @{"Sbuftmap" LINK "graphics3D.h/File" 405}
  26. @{"Sdir3d" LINK "graphics3D.h/File" 401}      @{"Sedge" LINK "graphics3D.h/File" 404}        @{"Sgrafica" LINK "graphics3D.h/File" 391}
  27. @{"Smatrix4x4" LINK "graphics3D.h/File" 402}  @{"Sobjectnode" LINK "graphics3D.h/File" 395}  @{"Spolygon" LINK "graphics3D.h/File" 398}
  28. @{"Spolytemp" LINK "graphics3D.h/File" 400}   @{"SRastPort" LINK "graphics3D.h/File" 394}    @{"STmpRas" LINK "graphics3D.h/File" 393}
  29. @{"Svector" LINK "graphics3D.h/File" 399}     @{"Svert1" LINK "graphics3D.h/File" 397}       @{"Svertex" LINK "graphics3D.h/File" 396}
  30.  
  31.  
  32. @{b}#defines@{ub}
  33.  
  34. @{"ATMP" LINK "graphics3D.h/File" 132}       @{"COMPLEMENT" LINK "graphics3D.h/File" 15}  @{"CS_GCOLOR" LINK "graphics3D.h/File" 35}
  35. @{"CS_NPX0" LINK "graphics3D.h/File" 37}    @{"CS_NPY0" LINK "graphics3D.h/File" 38}     @{"CS_PROJET" LINK "graphics3D.h/File" 33}
  36. @{"CS_SBUFF" LINK "graphics3D.h/File" 34}   @{"CS_VDIST" LINK "graphics3D.h/File" 36}    @{"CS_VIEWP" LINK "graphics3D.h/File" 41}
  37. @{"CS_ZBUF" LINK "graphics3D.h/File" 40}    @{"CS_ZOOM" LINK "graphics3D.h/File" 39}     @{"END_T" LINK "graphics3D.h/File" 26}
  38. @{"FIXV" LINK "graphics3D.h/File" 116}       @{"FIXVM" LINK "graphics3D.h/File" 117}       @{"FLAT" LINK "graphics3D.h/File" 21}
  39. @{"FRUSTUM" LINK "graphics3D.h/File" 25}    @{"GORAUD" LINK "graphics3D.h/File" 22}      @{"GP_COL" LINK "graphics3D.h/File" 49}
  40. @{"GP_HRGB" LINK "graphics3D.h/File" 50}    @{"GP_INFO" LINK "graphics3D.h/File" 53}     @{"GP_LRGB" LINK "graphics3D.h/File" 51}
  41. @{"GP_NCOL" LINK "graphics3D.h/File" 47}    @{"GP_NLIV" LINK "graphics3D.h/File" 48}     @{"GP_PALET" LINK "graphics3D.h/File" 52}
  42. @{"GP_RCOL" LINK "graphics3D.h/File" 46}    @{"GP_TRASP" LINK "graphics3D.h/File" 54}    @{"INVERSVID" LINK "graphics3D.h/File" 16}
  43. @{"JAM1" LINK "graphics3D.h/File" 13}       @{"JAM2" LINK "graphics3D.h/File" 14}        @{"LEN_TABC" LINK "graphics3D.h/File" 126}
  44. @{"LTMP" LINK "graphics3D.h/File" 131}       @{"MAXDX" LINK "graphics3D.h/File" 123}       @{"MAXDY" LINK "graphics3D.h/File" 124}
  45. @{"MAXOBJECT" LINK "graphics3D.h/File" 121}  @{"MAXPOINT" LINK "graphics3D.h/File" 120}    @{"MAXVER()" LINK "graphics3D.h/File" 386}
  46. @{"MAXVERT" LINK "graphics3D.h/File" 122}    @{"MFRAC" LINK "graphics3D.h/File" 118}       @{"MINT" LINK "graphics3D.h/File" 119}
  47. @{"MO_STATE" LINK "graphics3D.h/File" 59}   @{"MO_VMODE" LINK "graphics3D.h/File" 60}    @{"MP_2SIDE" LINK "graphics3D.h/File" 67}
  48. @{"MP_ACTIV" LINK "graphics3D.h/File" 71}   @{"MP_COLOR" LINK "graphics3D.h/File" 66}    @{"MP_POLY" LINK "graphics3D.h/File" 65}
  49. @{"MP_TMAP" LINK "graphics3D.h/File" 68}    @{"MP_VTAUTO" LINK "graphics3D.h/File" 70}   @{"MP_VTMAP" LINK "graphics3D.h/File" 69}
  50. @{"PARAL_P" LINK "graphics3D.h/File" 18}    @{"PROSP_P" LINK "graphics3D.h/File" 17}     @{"SFIXV" LINK "graphics3D.h/File" 115}
  51. @{"SMARG" LINK "graphics3D.h/File" 129}      @{"SMARGM" LINK "graphics3D.h/File" 130}      @{"SOLID" LINK "graphics3D.h/File" 20}
  52. @{"TMAP" LINK "graphics3D.h/File" 23}       @{"TRASP" LINK "graphics3D.h/File" 27}       @{"TTMAP" LINK "graphics3D.h/File" 125}
  53. @{"WIREF" LINK "graphics3D.h/File" 19}      @{"ZPLANE" LINK "graphics3D.h/File" 24}      
  54.  
  55. @ENDNODE
  56. @NODE File "graphics3D.h"
  57. /*
  58. **      $VER: graphics3d.h 10.02 (02.03.98)
  59. **
  60. **      main include file for graphics3d.library
  61. **
  62. **      (C) Copyright 1997 Patrizio Biancalani
  63. **      All Rights Reserved.
  64. */
  65.  
  66. #ifndef GRAPHICS3D_GRAPHICS3D_H
  67. #define GRAPHICS3D_GRAPHICS3D_H
  68.  
  69. #define JAM1 0
  70. #define JAM2 1
  71. #define COMPLEMENT 2
  72. #define INVERSVID 4
  73. #define PROSP_P 0       /* tipo proiezione prospettica */
  74. #define PARAL_P 1       /* tipo proiezione parallela */
  75. #define WIREF   0       /* modo visualizzazione in wire frame */
  76. #define SOLID   2       /* modo visualizzazione in solid */
  77. #define FLAT    1       /* modo visualizzazione in flat shading */
  78. #define GORAUD  3       /* modo visualizzazione in goraud shading */
  79. #define TMAP    0x10    /* modo visualizzazione in texture mapping */
  80. #define ZPLANE  0       /* #1 modo clippaggio oggetti */
  81. #define FRUSTUM 1       /* #2 modo clippaggio oggetti */
  82. #define END_T  0        /* fine array tag3d di dati */
  83. #define TRASP  1000     /* valore registro colore che indica trasparente */
  84.  
  85. /*
  86.   tipi dati per tag3d.tipo riconosciuti attualmente per
  87.   funzione GD_cascene()
  88. */
  89. #define CS_PROJET 1     /* tipo di proiezione */
  90. #define CS_SBUFF  2     /* attivazione o meno single buffering */
  91. #define CS_GCOLOR 3     /* nuovo colore sfondo box di visualizzazione */
  92. #define CS_VDIST  4     /* nuovo valore distanza da piano di proiezione */
  93. #define CS_NPX0   5     /* nuova posizione X per box di visualizzazione */
  94. #define CS_NPY0   6     /* nuova posizione Y per box di visualizzazione */
  95. #define CS_ZOOM   7     /* nuovo valore per zoom scena */
  96. #define CS_ZBUF   8     /* attivazione o meno z-buffering */
  97. #define CS_VIEWP  9     /* ritorna posizione attuale camera */
  98. /*
  99.   tipi dati per tag3d.tipo riconosciuti attualmente per
  100.   funzione GD_genpalette()
  101. */
  102. #define GP_RCOL   1     /* set n# colori da riservare per altri usi */
  103. #define GP_NCOL   2     /* set n# colori base da usare */
  104. #define GP_NLIV   3     /* set n# livelli d'intensita' per ogni colore */
  105. #define GP_COL    4     /* set n# colore a cui associare i prossimi GP_HRBG e @{"GP_LRGB" LINK File 51} */
  106. #define GP_HRGB   5     /* definisce i valori RGB massimi per un colore (def.15,15,15) */
  107. #define GP_LRGB   6     /* definisce i valori RGB minimi per un colore (def. 0,0,0) */
  108. #define GP_PALET  7     /* assegna uno specifico registro della palette al colore @{"GP_COL" LINK File 49} */
  109. #define GP_INFO   8     /* restituisce il n# registro della palette del colore @{"GP_COL" LINK File 49} */
  110. #define GP_TRASP  9     /* assegno colore trasparente ad ultimo e lo ignoro per i livelli */
  111. /*
  112.   tipi dati per tag3d.tipo riconosciuti attualmente per
  113.   funzione GD_modobj()
  114. */
  115. #define MO_STATE  1     /* attiva(1) o disattiva(0) l'oggetto attuale */
  116. #define MO_VMODE  2     /* setta il nuovo viewmode dell'oggetto attuale */
  117. /*
  118.   tipi dati per tag3d.tipo riconosciuti attualmente per
  119.   funzione GD_modpoly()
  120. */
  121. #define MP_POLY   1     /* set n# poligono su cui far operare le modifiche */
  122. #define MP_COLOR  2     /* modifica il colore del poligono */
  123. #define MP_2SIDE  3     /* setta a 2(1) o 1(0) faccia il poligono */
  124. #define MP_TMAP   4     /* assegna una texture map al poligono */
  125. #define MP_VTMAP  5     /* definisce i vertici della texture map del poligono */
  126. #define MP_VTAUTO 6     /* definisce i vertici automaticamente */
  127. #define MP_ACTIV  7     /* attiva(1) o disattiva(0) il poligono selezionato */
  128.  
  129. /** STRUTTURE DATI DI USO ESTERNO ED INTERNO **/
  130. /* vertice, usa formato float a virgola fissa ,(val*@{"FIXV" LINK File 116}) */
  131. struct vertex
  132. {
  133. long int x;
  134. long int y;
  135. long int z;
  136. };
  137.  
  138. /* vertice su texture map (valori in pixel intero corto)*/
  139. struct vtmap
  140. {
  141. short int x1;
  142. short int y1;
  143. short int x2;
  144. short int y2